@charset "UTF-8";
html, body {
  height:100%;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: column;
}
/**********************
remodal
**********************/
.remodal{
    text-align: left;
}
.remodal-body {
	padding-top: 0px;
}
.remodal-title {
	height: 50px;
	display: flex;
	display: -webkit-flex;
	padding-top: 16px;
	padding-left: 37px;
	background-color: #dbdbdb;
	font-size: 22.2px;
}
.remodal-check {
	height: 400px;
	overflow-y: auto;
	border-bottom: 1px solid #a7a7a8;
    margin: 20px 40px 20px 40px;
}
div[data-remodal-id="modal-whats-new"] {
    max-width: 759.3px;
}
div.whatsnew-wrapper {
    margin: 20.8px 37px 25px;
    overflow: auto;
    height: 50vh;
}
table.whatsnew {
    width: 100%;
}
table.whatsnew tr:first-child {
    border-top:1px solid #b2b2b3;
}
table.whatsnew tr {
    border-bottom:1px solid #b2b2b3;
}
table.whatsnew td.version {
    padding: 15px;
}
table.whatsnew td.information {
    padding: 15px;
}
.remodal-showlist-star {
    width:20px;
    margin-bottom:-4px;
}
.remodal-showlist-star-yellow {
    width:20px;
    margin-bottom:-4px;
}
.remodal-showlist-content {
    width: 100%;
    display: flex;
		display: -webkit-flex;
    overflow: auto;
}
.contents-wrapper > p {
    font-size: 18px;
}
.remodal input[type=checkbox]{
    margin-left:0;
    margin-right:6px;
}

/**********************
header
**********************/
header .title-background {
    box-shadow: 0px 4px 5px rgba(0, 0, 0, 0.6);
}
.pp.own header .title-background, .pp.tr header .title-background, .pp.ge header .title-background {
    background-color:#231815;
}
.pp.au header .title-background, .pp.dev header .title-background {
    background-color:#ffffff;
}
header .main {
    position:relative;
    display:flex;
    display:-webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
header .main-title {
    display:block;
    border:none;
    width:100vw;
    margin-left:54px;
}
header .main .users-guide {
    font-size:20px;
    margin-top: 14px;
    margin-bottom: 11px;
}
.pp.own header .main .users-guide, .pp.tr header .main .users-guide, .pp.ge header .main .users-guide {
    color:#fff;
}
.pp.dev header .main .users-guide, .pp.au header .main .users-guide {
    color:#000;
}
header .main .model-logos {
    margin-bottom: 13px;
}
.pp.own header .main .model-logo-img, .pp.tr header .main .model-logo-img, .pp.ge header .main .model-logo-img {
    height: 14px;
}
.pp.own header .main .company-logo img, .pp.tr header .main .company-logo img, .pp.ge header .main .company-logo img {
    width: 155px;
}
main .sub-background .opacityArea {
    background: -moz-linear-gradient(270deg, rgba(0,0,0,0.25) 0%, rgba(255,255,255,0.02) 85%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(270deg, rgba(0,0,0,0.25) 0%, rgba(255,255,255,0.02) 85%, rgba(255,255,255,0) 100%);
    background: linear-gradient(270deg, rgba(0,0,0,0.25) 0%, rgba(255,255,255,0.02) 85%, rgba(255,255,255,0) 100%);
    height:78px;
}
main .sub-top-title, .sub-top-search-bkmark {
    display:flex;
    display:-webkit-flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
}
main .sub-top-title a {
    text-decoration:none;
}
main .sub-top-title a.showlistmodal {
    background : url(../img/top_bookmark_star.png) no-repeat;
    color: #fff;
    height: 20px;
    margin-top: -4px;
    display: -webkit-box;
    display: -moz-box;
    display: -o-box;
    display: -ms-flexbox;
    display: box;
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -ms-flexbox-align: center;
    box-align: center;
} 
main .sub-top-title a.showlistmodal:hover {
    background : url(../img/top_bookmark_star_b.png) no-repeat;
     color:#4ca5ff;
}
main .showlisttext {
    margin-left:25px;
    margin-top: 4px;
    display: block;
}
main .links a:hover {
	color: #4ca5ff;
}
/**********************
 has-children
**********************/
a.has-children:after {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    margin-top: 3px;
    margin-left: 10px;
    border-right: 2px solid #b2b2b3;
    border-top: 2px solid #b2b2b3;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
a.has-children:after {
    -webkit-transition:-webkit-transform 0.3s linear;
    -moz-transition:-moz-transform 0.3s linear;
    -ms-transition:-ms-transform 0.3s linear;
    -o-transition:-o-transform 0.3s linear;
    transition:transform 0.3s linear;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}
a.has-children.open:after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
/**********************
 common
**********************/

/**********************
 main
**********************/
main {
    width:100%;
    overflow-y: auto;
    margin: 0 auto;
    flex: 1 0 auto;
    background-color: #dcdcdc;
}
.situation-background {
    background-color:#231815;
    box-shadow: 0px 6px 10px rgba(0,0,0,0.6);
    -webkit-box-shadow: 0px 6px 10px rgba(0,0,0,0.6);
    -moz-box-shadow: 0px 6px 10px rgba(0,0,0,0.6);
}
.situation-area {
    padding:10px 0 12px 0;
}
.situation-area .situation-item {
    position:relative;
    align-items: center;
    -webkit-align-items: center;
    color:#fff;
    padding:0 15px 5px 15px;
}
.situation-area .situation-item:hover .situation-item-title {
    color:#4ca5ff;
    cursor:pointer;
}
.situation-area .situation-title {
    font-size:20px;
    color:#c6c7c8;
}
.situation-area .situation-sub-title {
    color:#c6c7c8;
}
.situation-area .situation-item-title {
    color:#fff;
    text-decoration: none;
}
.situation-area .situation-item img {
    padding:5px 0px 10px 5px;
}
.situation-img-moff {
    display:block;
}
.situation-img-mon {
    display:none;
}
.situation-item-area a {
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    white-space:nowrap;
    overflow:hidden;
}
.contents-background {
    background: -moz-linear-gradient(330deg, #80a3be, #426580, #002661);
    background: -webkit-linear-gradient(330deg, #80a3be, #426580, #002661);
    background: linear-gradient(330deg, #80a3be 0%, #426580 40%, #002661 90%);
}
.contents-area {
    position:relative;
}
.contents-area-background-image {
    position:relative;
    overflow:hidden;
}
.contents-area-background-image img {
    position: absolute;
    right: 56px;
    bottom: 0px;
}
.summary-area {
    position:absolute;
    top: 7px;
    left: 57px;
    z-index: 1;
}
.summary-main-title {
    font-size:20px;
    letter-spacing:2px;
    color:#e5e5e5;
}
.summary-sub-title {
    padding-top: 16px;
    color:#e5e5e5;
}
.summary-sub-link {
    padding-top: 14px;
    padding-left: 12px
}
.summary-sub-link-startup-guide {
    float:left;
    margin-top:30px;
    padding: 8px 12px 8px 12px;
    border:solid 1px #0083ff;
    background-color: #0083ff;
    -moz-border-radius: 18px;
    -webkit-border-radius: 18px;
    -o-border-radius: 18px;
    -ms-border-radius: 18px; 
    border-radius: 18px;
}
.summary-sub-link-startup-guide:hover {
    border:solid 1px #4ca5ff;
    background-color: #4ca5ff;
}
.summary-sub-link a {
    color:#aedbff;
    text-decoration:none;
}
.summary-sub-link:hover a {
    color:#4ca5ff;
}
.summary-sub-link-startup-guide a {
    color:#ffffff;
    text-decoration:none;
}
.clearfloat{
    clear: both;    
}
/**********************
training
**********************/
.tm_users-guide{
    visibility:hidden;
}
.tm_div{
    font-family: Segoe UI, Helvetica;
    font-size: 46px;
    color: #ffffff;
    margin: 81px 53px 0 44%;
}
/**********************
 functions
**********************/
.function-title {
    font-size:20px;
    color:#646464;
    text-shadow: -1px -1px 0.2px #ffffff
}
.function-text {
    margin-top:6px;
    margin-left:12px;
    color:#646464;
    text-shadow: -1px -1px 0.2px #ffffff
}
.function-list li {
    padding-top:10.5px;
}
.function-list a {
    color:#426a89;
		text-decoration:none;
}
.function-list a:hover {
    color:#4ca5ff;
}
.function-list img {
    width:100%;
}
.function-list-text {
    color:#646464;
    text-shadow: -1px -1px 0.2px #ffffff;
    line-height: 1.3
}
/**********************
 footer
**********************/
.footer-background {
    background-color:#231815;
}
.footer-area {
    display: block;
}
.footer-left-area div,a {
    color:#fff;
}
.footer-left-area a {
    color:#4ca5ff;
    text-decoration:none;
}
.footer-right-area div {
    font-size:10px;
    color:#fff;
}
/**********************
pc
**********************/
@media (min-width: 769px) {
    .inner {
        margin: 0 auto;
        max-width: 1600px;
    }
    /**********************
     header
    **********************/
    .pp.own header .main .company-logo, .pp.tr header .main .company-logo, .pp.ge header .main .company-logo {
        margin-top:14px;
        margin-right:63px;
    }
    .pp.au header .company-logo-l {
        margin-left: 50px;
        height: 76px;
    }
    .pp.dev header .company-logo-l {
        margin-left: 54px;
        height: 76px;
    }
    .pp.dev header .company-logo-l img, .pp.au header .company-logo-l img {
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .pp.au header .company-logo img {
        max-width: 200px;
        margin-top: 10px;
    }
    main .sub-top-title .links {
        display:flex;
        display:-webkit-flex;
        justify-content:flex-end;
        -webkit-justify-content: flex-end;
        color:#fff;
        flex-grow:7;
        -webkit-flex-grow: 7;
        margin-top: 12px;
        margin-bottom: 12px;
        margin-right: 48px;
    }
    main .sub-top-title .links li {
        padding: 0 8px;
    }
    main .sub-bkmark {
        display:none;
    }
    main .sub-title {
        display:none;
    }
    main .sub-background {
        height: 78px;
    }
    /**********************
     main
    **********************/
    .contents-area-background-image {
        min-height:210px;
        height: 28vh; /* ugの場合は製品画像の高さにあわせるためjavascriptで再設定する。 tmの場合は固定。*/
    }
    .contents-area-background-image img {
        max-width: 55%;
        max-height: 90%;
    }
    .contents-area-background-image .pc {
        display: block;
    }
    .contents-area-background-image .mobile {
        display: none;
    }
    .summary-area {
        margin-right: 61%;
    }
    .situation-area {
        display:block;
    }
    .situation-area .situation-item-area {
        padding-left:54px;
        padding-right:54px;
    }
    .situation-area .situation-title-area {
        margin-bottom:10px;
        display:flex;
        display: -webkit-flex;
    }
    .situation-area .situation-sub-title {
        padding-top:6px;
        padding-left:12px;
    }
    .situation-item-list {
        display:flex;
        display: -webkit-flex;
        flex-wrap:wrap;
        -webkit-flex-wrap: wrap;
    }
    .situation-area .situation-item {
        position:relative;
        margin-right:-1px;
        max-width: 247px;
        justify-content:center;
        -webkit-justify-content: center;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
    }
    .situation-item:hover img.situation-img-moff {
        display:none;
    }
    .situation-item:hover img.situation-img-mon {
        display:block;
    }
    /**********************
     functions
    **********************/
    .function-title-area {
        display: flex;
        display: -webkit-flex;
    }
    .function-list-area {
        display: flex;
        display: -webkit-flex;
    }
    .function-area {
        padding:0 54px 10px 54px;
        margin-top: 18px;
    }
    .function-list {
        width:33%;
        padding-right:6px;
    }
    .function-list:last-child {
        padding-right:0px;
    }
    .function-item {
        padding-left:11px;
    }
    /**********************
     support
    **********************/
    .support-area {
        display:none;
    }
    /**********************
     footer
    **********************/
    .footer-area {
        display: flex;
        display: -webkit-flex;
        height: 33px;
    }
    .footer-left-area {
        display: flex;
        display: -webkit-flex;
        width:50%;
        margin-left: 6px;
    }
    .footer-left-area li {
        padding: 9px 0 10px 30px;
    }
    .footer-right-area {
        display: flex;
        display: -webkit-flex;
        justify-content:flex-end;
        -webkit-justify-content: flex-end;
        width:50%;
    }
    .footer-right-area li {
        padding-top: 12px;
        padding-bottom: 10px;
        padding-right: 26px;
    }
}

/**********************
mobile
**********************/
@media (max-width: 768px) {
    /**********************
     header
    **********************/
    .pp.own header .main, .pp.tr header .main, .pp.ge header .main {
        height:40px;
        justify-content: flex-end;
		-webkit-justify-content: flex-end;
    }
    .pp.dev header .main, .pp.au header .main {
        height:30px;
        justify-content: space-between;;
		-webkit-justify-content: space-between;
    }
    header .main-title {
        display:none;
    }
    .pp.own header .main .company-logo, .pp.tr header .main .company-logo, .pp.ge header .main .company-logo {
        margin: 8.2px 10px 8.2px 0;
    }
    .pp.au header .company-logo-l {
        margin: 2px;
        padding-left: 17px;
        height: calc(30px - 2px - 2px); /* .mainのheight30px から .company-logo-lの上下margin2pxを除く */
    }
    .pp.dev header .company-logo-l {
        margin: 7px;
        padding-left: 15px;
    }
    header .company-logo-l img{
        height: 100%;
    }
    .pp.dev header .company-logo-l img{
        height: calc(30px - 7px - 7px); /* ヘッダエリア(div.main)の高さからdiv.company-logo-lの上下マージンを除いた高さ */ 
    }
    header .main .company-logo a {
        display: flex;
        display: -webkit-flex;
        align-items: center;
        -webkit-align-items: center;
        height: 100%;
    }
    .pp.own header .main .company-logo img, .pp.tr header .main .company-logo img, .pp.ge header .main .company-logo img {
        width: 145px;
    }
    .pp.au header .company-logo img {
        height: 20px;
    }
    main .sub-top-title {
        flex-direction:column;
        -webkit-flex-direction: column;
    }
    main .sub-top-search-bkmark {
        align-items: baseline;
        -webkit-align-items: baseline;
        flex-direction:column;
        -webkit-flex-direction: column;
    }
    main .sub-title {
        display:block;
        padding:12px 18px 19px 22px;
    }
    main .sub-top-title .users-guide {
        font-size:20px;
        color:#fff;
        padding-bottom: 12px;
    }
    main .sub-top-title .model-logo-img {
        max-width: calc(320px - 20px - 18px);   /* iPhone5/SE???320px???????????????? */
    }
    main .sub-top-title .links {
        display:none;
    }

    main .sub-bkmark {
        align-items: baseline;
        -webkit-align-items: baseline;
        display:flex;
        display: -webkit-flex;
        justify-content: flex-start;
        -webkit-justify-content: flex-start;
    }

    main .sub-bkmark .mobile-link {
        display:block;
        margin:0px 0px 13px 22px;
    }

    main .sub-background .opacityArea {
        height: auto;
    }

    /**********************
     main
    **********************/
    .main-area {
        display:block;
    }
    .contents-area-background-image {
        margin-top: 30px;
        /* heightはjavascriptで製品画像の高さにあわせて設定する */
    }
    .contents-area-background-image .pc {
        display: none;
    }
    .contents-area-background-image .mobile {
        display: block;
    }
    .contents-area-background-image img {
		right:0px;
    }
    .summary-area {
        position: static;
        margin-left: 22px;
        margin-top: 20px;
        margin-right: 18px;
    }
    .summary-sub-title {
        padding-top: 15px;
    }
    .summary-sub-link-startup-guide {
        float:left;
        margin-top:30px;
            padding: 7px 12px 7px 12px;
        border:solid 1px #0083ff;
        background-color: #0083ff;
        -moz-border-radius: 18px;
        -webkit-border-radius: 18px;
        -o-border-radius: 18px;
        -ms-border-radius: 18px; 
            border-radius: 18px;
    }
    .summary-sub-link {
            margin-left: -2px;
            padding-top: 9.5px;
    }
    .situation-area {
        padding: 23px 0 26px 0;
    }
    .situation-area .situation-title-area {
        margin:0px 18px 21px 22px
    }
    .situation-area .situation-sub-title {
        padding-top:21px;
    }
    .situation-area .situation-item-area {
        margin-left:0px;
    }
    ul.situation-item-list>li:first-child {
        border-top: solid 1px #505970;
    }
    .situation-area .situation-item {
        display:flex;
        display:-webkit-flex;
        height:73px;
        margin:0 18px 0 22px;
        padding:0;
        border-bottom: solid 1px #505970;
        position:relative;
    }
    .situation-area .situation-item img {
        padding:10px 12px 10px 16px;
    }

    /**********************
     training
    **********************/
     .tm_div{
        margin: 0 22px 36px 22px;
    }
    .sub-background .tm_users-guide {
        display: none;
    }
    /**********************
     functions
    **********************/
    .function-area {
        padding:18px 0 12px 0;
    }
    .function-title-area {
        padding-left: 22px;
        padding-right: 18px;
    }
    .function-text {
        margin-left:0px;
        margin-top:18px;
    }
    .function-list-area {
        margin-top:12px;
    }
    .function-list li {
        padding-top: 18px;
    }
    .function-list {
        width:100%;
        padding:0px 18px 0px 22px;
        border-bottom:1px solid #999999;
        box-shadow: 0px 1px 1px #fff;
    }
    .function-list:last-child {
        border-bottom:none;
        box-shadow:none;
    }
    .function-item {
        margin: 0 17px 0 18px;
    }
    .function-item li {
        padding-top:30px;
    }
    .function-item li:last-child {
        padding-bottom:18px;
    }
    /**********************
     support
    **********************/
    .support-area {
        background-color:#231815;
        border-bottom:1px solid #ffffff;
        box-shadow: 0px 1px 1px #999999;
    }
    .support-item{
        color:#ffffff;
    }
    .support-item:hover {
        color:#4ca5ff;
    }
    .support-area .support-item-area {
        margin-left: 40px;
        padding-top: 22px;
    }
    .support-area .support-item-area li {
        padding-bottom: 20px;
    }
    .support-area .support-item-area li a {
        text-decoration: none;
    }
    .mobile-link .showlistmodal {
        background : url(../img/top_bookmark_star.png) no-repeat;
        color: #fff;
        height: 20px;
        margin-top: -4px;
        display: -webkit-box;
        display: -moz-box;
        display: -o-box;
        display: -ms-flexbox;
        display: box;
        -webkit-box-align: center;
        -moz-box-align: center;
        -o-box-align: center;
        -ms-flexbox-align: center;
        box-align: center;
    } 
    .mobile-link .showlistmodal:hover {
        background : url(../img/top_bookmark_star_b.png) no-repeat;
        color:#4ca5ff;
    }
    .mobile-link .showlisttext-mobile {
        margin-left:25px;
        display: block;
        margin-top: 4px;
    }
    /**********************
     footer
    **********************/
    .footer-left-area {
        width:100%;
        padding: 12px 0 17px 0;
    }
    .footer-left-area li {
        text-align:center;
    }
    .footer-left-area div:last-child {
        padding-top: 13px;
    }
    .footer-right-area {
        width:100%;
        padding-bottom: 9px;
    }
    .footer-right-area li {
        text-align:center;
    }
    /**********************
     modal
     **********************/
     .remodal-title {
    	padding-left: 18px;
    }
    div.whatsnew-wrapper {
        margin: 20.8px 18px;
    }
    table.whatsnew td.version {
        padding: 10px;
    }
    table.whatsnew td.information {
        padding: 10px;
    }
}

/**********************
IEのみ
**********************/
@media all and (-ms-high-contrast: none) and (max-width: 768px) {
    .mobile-link .showlisttext-mobile {
        margin-top: 3px;
    }
}

@media all and (-ms-high-contrast: none) and (min-width: 769px) {
    main {
        display: block;
    }
}

/*************************************************
    トップページガイド部表示で、ブラウザ幅によって
    表示する個数を変更。
**************************************************/
@media (min-width: 950px) {
    .situation-area .situation-item {
        width: calc(100%/6);
    }
}
@media (min-width: 850px) and (max-width:949px){
    .situation-area .situation-item {
        width: calc(100%/5);
    }
}
@media (min-width: 769px) and (max-width:849px){
    .situation-area .situation-item {
        width: calc(100%/4);
    }
}

